# CTFd 配置文件
#
# 使用此文件来配置 CTFd 行为方式的各个方面。 可以指定附加属性
# 插件和其他附加行为。
#
# 如果指定了配置项但留空，CTFd 将执行以下操作：
#
# 1. 查找同名的环境变量，如果找到则使用该值
# 2. 使用其内部配置中指定的默认值
# 3. 使用空值（即 None）或空字符串作为配置值


[server]
# 密钥：
# 用于创建会话和签署字符串的秘密值。 这应该设置为随机字符串。 在里面
# 为了方便起见，CTFd 会自动为您创建一个密钥文件。 如果您想添加此密钥
# 对于您的实例，您应该将该值硬编码为随机静态值。
#
# 您还可以从 .gitignore 文件中删除 .ctfd_secret_key 并将该文件提交到您正在使用的任何存储库中。
#
# http://flask.pocoo.org/docs/latest/quickstart/#sessions
SECRET_KEY =

# DATABASE_URL
# 指定服务器的用户名、密码、主机名、端口和数据库的 URI
# 用于保存 CTFd 数据库。
#
# 如果既没有指定这个设置，也没有指定`DATABASE_HOST`，CTFd将自动创建一个SQLite数据库供您使用
# 例如 mysql+pymysql://root:<YOUR_PASSWORD_HERE>@localhost/ctfd
DATABASE_URL =

# 数据库主机
# 用于保存 CTFd 数据库的数据库服务器的主机名。
# 如果设置了`DATABASE_URL`，则此设置将不起作用。
#
# 此选项与其他“DATABASE_*”选项一起是在单个“DATABASE_URL”中指定所有连接详细信息的替代方法。
# 如果既没有指定此设置也没有指定`DATABASE_URL`，CTFd将自动创建一个SQLite数据库供您使用。
DATABASE_HOST =

# 数据库协议
# 如果设置了“DATABASE_HOST”，则用于访问数据库服务器的协议。 默认为“mysql+pymysql”。
DATABASE_PROTOCOL =

# 数据库用户
# 如果设置了“DATABASE_HOST”，则用于访问数据库服务器的用户名。 默认为“ctfd”。
DATABASE_USER =

# 数据库密码
# 如果设置了“DATABASE_HOST”，则用于访问数据库服务器的密码。
DATABASE_PASSWORD =

# 数据库端口
# 如果设置了“DATABASE_HOST”，则用于访问数据库服务器的端口。
DATABASE_PORT =

# 数据库名称
# 如果设置了“DATABASE_HOST”，则在数据库服务器上要访问的数据库的名称。 默认为“ctfd”。
DATABASE_NAME =

# REDIS_URL
# 连接到 Redis 服务器的 URL。 如果既没有指定此设置也没有指定“REDIS_HOST”，
# CTFd 将使用 .data 文件夹作为文件系统缓存。
#
# 例如 redis://用户:密码@localhost:6379
# http://pythonhosted.org/Flask-Caching/#configuring-flask-caching
REDIS_URL =

# REDIS_HOST
# 要连接的 Redis 服务器的主机名。
# 如果设置了`REDIS_URL`，则此设置将不起作用。
#
# 此选项与其他“REDIS_*”选项一起是在单个“REDIS_URL”中指定所有连接详细信息的替代方法。
# 如果既没有指定此设置也没有指定`REDIS_URL`，CTFd将使用.data文件夹作为文件系统缓存。
REDIS_HOST =

# REDIS_协议
# 如果设置了“REDIS_HOST”，则用于访问 Redis 服务器的协议。 默认为“redis”。
#
# 注意这里不支持 `unix` 协议； 请改用“REDIS_URL”。
REDIS_PROTOCOL =

# REDIS_用户
# 用于访问 Redis 服务器的用户名（如果设置了“REDIS_HOST”）。
REDIS_USER =

# REDIS_密码
# 用于访问 Redis 服务器的密码（如果设置了“REDIS_HOST”）。
REDIS_PASSWORD =

# REDIS_PORT
# 如果设置了“REDIS_HOST”，则用于访问 Redis 服务器的端口。
REDIS_PORT =

# REDIS_DB
# 如果设置了“REDIS_HOST”，则要访问的 Redis 数据库的索引。
REDIS_DB =

[security]
# SESSION_COOKIE_HTTPONLY
# 控制是否应使用 HttpOnly 标志设置 cookie。 默认为 True。
SESSION_COOKIE_HTTPONLY = true

# SESSION_COOKIE_SAMESITE
# 控制会话 cookie 上的 SameSite 属性。 可以宽松也可以严格。
# 应保留为 Lax，除非含义很好理解
SESSION_COOKIE_SAMESITE = Lax

# PERMANENT_SESSION_LIFETIME
# 会话的生命周期。 默认值为 604800 秒（7 天）。
PERMANENT_SESSION_LIFETIME = 604800

[email]
# 邮件地址
# 如果未在配置面板中覆盖，则发送电子邮件的电子邮件地址。
MAILFROM_ADDR =

# 邮件服务器
# 如果未在配置面板中覆盖，则发送电子邮件的邮件服务器。
MAIL_SERVER =

# MAIL_PORT
# 如果未在配置面板中覆盖，则发送电子邮件的邮件端口。
MAIL_PORT =

# MAIL_USEAUTH
# 是否使用用户名和密码向 SMTP 服务器进行身份验证
MAIL_USEAUTH =

# MAIL_USERNAME
# 如果定义了 MAIL_USEAUTH，则用于向 SMTP 服务器进行身份验证的用户名
MAIL_USERNAME =

# MAIL_PASSWORD
# 如果定义了 MAIL_USEAUTH，则用于对 SMTP 服务器进行身份验证的密码
MAIL_PASSWORD =

# MAIL_TLS
# 是否通过 TLS 连接 SMTP 服务器
MAIL_TLS =

# MAIL_SSL
# 是否通过SSL连接到SMTP服务器
MAIL_SSL =

# MAILSENDER_ADDR
# 负责传输电子邮件的电子邮件地址。
# 这通常是 MAILFROM_ADDR 值，但如果您的电子邮件地址可以指定
# 由与您的 MAILFROM_ADDR 中指定的域不同的域传递。
# 如果未指定，则使用 MAILFROM_ADDR 值。
# 需要设置这个值的情况相当罕见。
MAILSENDER_ADDR =

# MAILGUN_API_KEY
# Mailgun API 密钥用于通过 Mailgun 发送电子邮件。 从 CTFd v3 开始，Mailgun 集成已被弃用。
# 使用 Mailgun API 的安装应迁移到 SMTP 设置。
MAILGUN_API_KEY =

# MAILGUN_BASE_URL
# Mailgun 通过 Mailgun 发送电子邮件的基本 URL。 从 CTFd v3 开始，Mailgun 集成已被弃用。
# 使用 Mailgun API 的安装应迁移到 SMTP 设置。
MAILGUN_BASE_URL =

# MAIL_PROVIDER
# 指定 CTFd 将用于发送电子邮件的电子邮件提供商。
# 默认情况下，CTFd 将根据其他设置自动检测正确的电子邮件提供商
# 此处或配置面板中指定。 此设置可用于强制特定的提供程序。
MAIL_PROVIDER =

[uploads]
# 上传_提供者
# 指定 CTFd 用于存储文件的服务。
# 可以设置为文件系统或s3
UPLOAD_PROVIDER =

# 上传文件夹
# 文件系统上传器下文件上传的位置。
# 默认目标是 CTFd/uploads 文件夹。
UPLOAD_FOLDER =

# AWS_ACCESS_KEY_ID
# 用于对 S3 存储桶进行身份验证的 AWS 访问令牌。 仅在 s3 上传器下使用。
AWS_ACCESS_KEY_ID =

# AWS_SECRET_ACCESS_KEY
# 用于对 S3 存储桶进行身份验证的 AWS 秘密令牌。 仅在 s3 上传器下使用。
AWS_SECRET_ACCESS_KEY =

# AWS_S3_BUCKET
# 您的 S3 存储桶的唯一标识符。 仅在 s3 上传器下使用。
AWS_S3_BUCKET =

# AWS_S3_ENDPOINT_URL
# 指向自定义 S3 实现的 URL。 仅在 s3 上传器下使用。
AWS_S3_ENDPOINT_URL =

# AWS_S3_REGION
# 托管您的存储桶的 aws 区域。 仅在 s3 上传器中使用。
AWS_S3_REGION =

[logs]
# 日志文件夹
# 日志写入的位置。 这些是 CTFd 密钥提交、注册和登录的日志。 默认位置是 CTFd/logs 文件夹。
LOG_FOLDER =

[optional]
# 反向代理
# 指定 CTFd 是否位于反向代理后面。 如果使用像 nginx 这样的反向代理，则设置为 true。
# 您还可以指定一组逗号分隔的数字来指定反向代理配置设置。
# 请参阅 https://werkzeug.palletsprojects.com/en/0.15.x/middleware/proxy_fix/#werkzeug.middleware.proxy_fix.ProxyFix。
# 例如配置`x_for=1, x_proto=1, x_host=1, x_port=1, x_prefix=1`指定`1,1,1,1,1`。
# 如果指定“true”，CTFd 将默认为上述行为，并将所有代理设置设置为 1。
REVERSE_PROXY =

# THEME_FALLBACK
# 指定 CTFd 是否会针对缺失的页面/内容回退到默认的“核心”主题。 对于开发主题或使用不完整的主题很有用。
# 默认为 true。
THEME_FALLBACK =

# TEMPLATES_AUTO_RELOAD
# 指定 Flask 是否应该检查模板的修改并自动重新加载它们。 默认为 true。
TEMPLATES_AUTO_RELOAD =

# SQLALCHEMY_TRACK_MODIFICATIONS
# 自动禁用以抑制警告并节省内存。
# 仅当需要时才启用此功能。
# 默认为 false。
SQLALCHEMY_TRACK_MODIFICATIONS =

# SWAGGER_UI
# 在 /api/v1/ 处启用 Swagger UI
SWAGGER_UI =

# 更新检查
# 指定CTFd是否检查是否有新版本的CTFd。 默认为真。
UPDATE_CHECK =

# 应用程序根目录
# 指定CTFd挂载的路径。 它可用于在子目录中运行 CTFd。
# 示例：/ctfd
APPLICATION_ROOT =

# SERVER_SENT_EVENTS
# 指定是否启用基于服务器发送事件的通知系统。
# 默认为 true
SERVER_SENT_EVENTS =

# HTML_SANITIZATION
# 指定 CTFd 是否应该清理 HTML 内容
# 默认为false
HTML_SANITIZATION =

# SQLALCHEMY_POOL_SIZE
# 数据库连接池大小，默认500
SQLALCHEMY_POOL_SIZE =
# SQLALCHEMY_MAX_OVERFLOW
# 指定 SQLAlchemy 引擎的 max_overflow 设置
# https://docs.sqlalchemy.org/en/13/core/engines.html#sqlalchemy.create_engine
# https://flask-sqlalchemy.palletsprojects.com/en/2.x/config/#configuration-keys
# 数据库最大超出链接大小，默认500
SQLALCHEMY_MAX_OVERFLOW =

# SQLALCHEMY_POOL_PRE_PING
# 指定 SQLAlchemy 引擎的 pool_pre_ping 设置
# https://docs.sqlalchemy.org/en/13/core/engines.html#sqlalchemy.create_engine
# https://flask-sqlalchemy.palletsprojects.com/en/2.x/config/#configuration-keys
# 默认为true
SQLALCHEMY_POOL_PRE_PING =

# 安全模式
# 如果启用 SAFE_MODE，CTFd 将不会加载任何插件，这可能会缓解阻止 CTFd 启动的问题
# Defaults to false
SAFE_MODE =

[oauth]
# OAUTH_CLIENT_ID
# 在 https://majorleaguecyber.org/ 注册活动并在此处使用客户端 ID
OAUTH_CLIENT_ID =

# OAUTH_CLIENT_ID
# 在 https://majorleaguecyber.org/ 注册活动并在此处使用客户端密钥
OAUTH_CLIENT_SECRET =

[extra]
# extra 部分可用于指定要加载到 CTFd 配置中的附加值
